summaryrefslogtreecommitdiff
path: root/app/[lng]/evcp/(evcp)/(sales)
diff options
context:
space:
mode:
Diffstat (limited to 'app/[lng]/evcp/(evcp)/(sales)')
-rw-r--r--app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-hull/page.tsx8
-rw-r--r--app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-ship/page.tsx8
-rw-r--r--app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-top/page.tsx7
-rw-r--r--app/[lng]/evcp/(evcp)/(sales)/tech-contact-possible-items/page.tsx9
-rw-r--r--app/[lng]/evcp/(evcp)/(sales)/tech-project-avl/page.tsx4
-rw-r--r--app/[lng]/evcp/(evcp)/(sales)/tech-vendors/page.tsx6
6 files changed, 32 insertions, 10 deletions
diff --git a/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-hull/page.tsx b/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-hull/page.tsx
index 97e53567..2ca48091 100644
--- a/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-hull/page.tsx
+++ b/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-hull/page.tsx
@@ -7,14 +7,18 @@ import { RFQListTable } from "@/lib/techsales-rfq/table/rfq-table"
import { type SearchParams } from "@/types/table"
import * as React from "react"
import { InformationButton } from "@/components/information/information-button"
+import { useTranslation } from "@/i18n"
interface HullRfqPageProps {
+ params: Promise<{lng: string}>
searchParams: Promise<SearchParams>
}
export default async function HullRfqPage(props: HullRfqPageProps) {
// searchParams를 await하여 resolve
const searchParams = await props.searchParams
-
+ const {lng} = await props.params
+ const {t} = await useTranslation(lng, 'menu')
+
// 해양 HULL용 파라미터 파싱
const search = searchParamsHullCache.parse(searchParams);
const validFilters = getValidFilters(search.filters);
@@ -35,7 +39,7 @@ export default async function HullRfqPage(props: HullRfqPageProps) {
<div>
<div className="flex items-center gap-2">
<h2 className="text-2xl font-bold tracking-tight">
- 기술영업-해양 Hull Budgetary RFQ
+ {t('menu.tech_sales.budgetary_hull')}
</h2>
<InformationButton pagePath="evcp/budgetary-tech-sales-hull" />
</div>
diff --git a/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-ship/page.tsx b/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-ship/page.tsx
index 779b9ac9..0791a9bd 100644
--- a/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-ship/page.tsx
+++ b/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-ship/page.tsx
@@ -7,14 +7,18 @@ import { RFQListTable } from "@/lib/techsales-rfq/table/rfq-table"
import { type SearchParams } from "@/types/table"
import * as React from "react"
import { InformationButton } from "@/components/information/information-button"
+import { useTranslation } from "@/i18n"
interface RfqPageProps {
+ params: Promise<{lng: string}>
searchParams: Promise<SearchParams>
}
export default async function RfqPage(props: RfqPageProps) {
// searchParams를 await하여 resolve
const searchParams = await props.searchParams
-
+ const {lng} = await props.params
+ const {t} = await useTranslation(lng, 'menu')
+
// 조선용 파라미터 파싱
const search = searchParamsShipCache.parse(searchParams);
const validFilters = getValidFilters(search.filters);
@@ -35,7 +39,7 @@ export default async function RfqPage(props: RfqPageProps) {
<div>
<div className="flex items-center gap-2">
<h2 className="text-2xl font-bold tracking-tight">
- 기술영업-조선 Budgetary RFQ
+ {t('menu.tech_sales.budgetary_ship')}
</h2>
<InformationButton pagePath="evcp/budgetary-tech-sales-ship" />
</div>
diff --git a/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-top/page.tsx b/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-top/page.tsx
index 5c96c85d..0949d9a0 100644
--- a/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-top/page.tsx
+++ b/app/[lng]/evcp/(evcp)/(sales)/budgetary-tech-sales-top/page.tsx
@@ -7,14 +7,17 @@ import { RFQListTable } from "@/lib/techsales-rfq/table/rfq-table"
import { type SearchParams } from "@/types/table"
import * as React from "react"
import { InformationButton } from "@/components/information/information-button"
+import { useTranslation } from "@/i18n"
interface HullRfqPageProps {
+ params: Promise<{lng: string}>
searchParams: Promise<SearchParams>
}
export default async function HullRfqPage(props: HullRfqPageProps) {
// searchParams를 await하여 resolve
const searchParams = await props.searchParams
-
+ const {lng} = await props.params
+ const {t} = await useTranslation(lng, 'menu')
// 해양 TOP용 파라미터 파싱
const search = searchParamsTopCache.parse(searchParams);
const validFilters = getValidFilters(search.filters);
@@ -35,7 +38,7 @@ export default async function HullRfqPage(props: HullRfqPageProps) {
<div>
<div className="flex items-center gap-2">
<h2 className="text-2xl font-bold tracking-tight">
- 기술영업-해양 TOP Budgetary RFQ
+ {t('menu.tech_sales.budgetary_top')}
</h2>
<InformationButton pagePath="evcp/budgetary-tech-sales-top" />
</div>
diff --git a/app/[lng]/evcp/(evcp)/(sales)/tech-contact-possible-items/page.tsx b/app/[lng]/evcp/(evcp)/(sales)/tech-contact-possible-items/page.tsx
index cf35530d..ad7c7b36 100644
--- a/app/[lng]/evcp/(evcp)/(sales)/tech-contact-possible-items/page.tsx
+++ b/app/[lng]/evcp/(evcp)/(sales)/tech-contact-possible-items/page.tsx
@@ -6,17 +6,22 @@ import { searchParamsCache } from "@/lib/contact-possible-items/validations"
import { ContactPossibleItemsTable } from "@/lib/contact-possible-items/table/contact-possible-items-table"
import { getValidFilters } from "@/lib/data-table"
import { type SearchParams } from "@/types/table"
+import { useTranslation } from "@/i18n"
interface ContactPossibleItemsPageProps {
+ params: Promise<{lng: string}>
searchParams: Promise<SearchParams>
}
export default async function ContactPossibleItemsPage({
+ params,
searchParams,
}: ContactPossibleItemsPageProps) {
// ✅ searchParams 파싱
const resolvedSearchParams = await searchParams
const search = searchParamsCache.parse(resolvedSearchParams)
+ const {lng} = await params
+ const {t} = await useTranslation(lng, 'menu')
console.log("Parsed search params:", search)
@@ -39,10 +44,10 @@ export default async function ContactPossibleItemsPage({
<div className="flex items-center justify-between space-y-2">
<div>
<h2 className="text-2xl font-bold tracking-tight">
- 담당자별 자재 관리
+ {t('menu.tech_sales.contact_items')}
</h2>
<p className="text-muted-foreground">
- 기술영업 담당자별 자재를 관리합니다.
+ {t('menu.tech_sales.contact_items_desc')}
</p>
</div>
</div>
diff --git a/app/[lng]/evcp/(evcp)/(sales)/tech-project-avl/page.tsx b/app/[lng]/evcp/(evcp)/(sales)/tech-project-avl/page.tsx
index 4ce018cd..c9ec6075 100644
--- a/app/[lng]/evcp/(evcp)/(sales)/tech-project-avl/page.tsx
+++ b/app/[lng]/evcp/(evcp)/(sales)/tech-project-avl/page.tsx
@@ -12,6 +12,7 @@ import { getValidFilters } from "@/lib/data-table"
import { DataTableSkeleton } from "@/components/data-table/data-table-skeleton"
import { Ellipsis } from "lucide-react"
import { InformationButton } from "@/components/information/information-button"
+import { useTranslation } from "@/i18n"
export interface PageProps {
params: Promise<{ lng: string }>
searchParams: Promise<SearchParams>
@@ -22,6 +23,7 @@ export default async function AcceptedQuotationsPage({
searchParams,
}: PageProps) {
const { lng } = await params
+ const {t} = await useTranslation(lng, 'menu')
const session = await getServerSession(authOptions)
if (!session) {
@@ -47,7 +49,7 @@ export default async function AcceptedQuotationsPage({
<div>
<div className="flex items-center gap-2">
<h2 className="text-2xl font-bold tracking-tight">
- 견적 Result 전송
+ {t('menu.tech_sales.result_transmission')}
</h2>
<InformationButton pagePath="evcp/tech-project-avl" />
</div>
diff --git a/app/[lng]/evcp/(evcp)/(sales)/tech-vendors/page.tsx b/app/[lng]/evcp/(evcp)/(sales)/tech-vendors/page.tsx
index 736a7bad..7475c274 100644
--- a/app/[lng]/evcp/(evcp)/(sales)/tech-vendors/page.tsx
+++ b/app/[lng]/evcp/(evcp)/(sales)/tech-vendors/page.tsx
@@ -8,14 +8,18 @@ import { Shell } from "@/components/shell"
import { searchParamsCache } from "@/lib/tech-vendors/validations"
import { getTechVendors, getTechVendorStatusCounts } from "@/lib/tech-vendors/service"
import { TechVendorsTable } from "@/lib/tech-vendors/table/tech-vendors-table"
+import { useTranslation } from "@/i18n"
interface IndexPageProps {
+ params: Promise<{lng: string}>
searchParams: Promise<SearchParams>
}
export default async function IndexPage(props: IndexPageProps) {
const searchParams = await props.searchParams
const search = searchParamsCache.parse(searchParams)
+ const {lng} = await props.params
+ const {t} = await useTranslation(lng, 'menu')
const validFilters = getValidFilters(search.filters)
@@ -33,7 +37,7 @@ export default async function IndexPage(props: IndexPageProps) {
{/* 왼쪽: 타이틀 & 설명 */}
<div>
<div className="flex items-center gap-2">
- <h2 className="text-2xl font-bold tracking-tight">기술영업 협력업체 관리</h2>
+ <h2 className="text-2xl font-bold tracking-tight">{t('menu.tech_sales.vendors')}</h2>
{/* InformationButton은 필요시 추가 */}
{/* <InformationButton pagePath="evcp/tech-vendors" /> */}
</div>